using System;
using System.ComponentModel;
using System.Web.UI;
namespace JQueryControlToolkit.Controls
{
	public class ResizableExtender : UIExtender
	{
		[JQueryElement("alsoResize", true)]
		public string SynchronizeWith
		{
			get
			{
				return base.GetPropertyValue<string>("SynchronizeWith", null);
			}
			set
			{
				base.SetPropertyValue<string>("SynchronizeWith", value);
			}
		}
		[JQueryElement("animate")]
		public bool Animate
		{
			get
			{
				return base.GetPropertyValue<bool>("Animate", false);
			}
			set
			{
				base.SetPropertyValue<bool>("Animate", value);
			}
		}
		[JQueryElement(null, "animateDuration", false, "^[0-9]+|slow|normal|fast$")]
		public string AnimateDuration
		{
			get
			{
				return base.GetPropertyValue<string>("AnimateDuration", null);
			}
			set
			{
				base.SetPropertyValue<string>("AnimateDuration", value);
			}
		}
		[JQueryElement("animateEasing")]
		public string AnimateEasing
		{
			get
			{
				return base.GetPropertyValue<string>("AnimateEasing", null);
			}
			set
			{
				base.SetPropertyValue<string>("AnimateEasing", value);
			}
		}
		[JQueryElement("aspectRatio")]
		public float AspectRatio
		{
			get
			{
				return base.GetPropertyValue<float>("AspectRatio", -1f);
			}
			set
			{
				base.SetPropertyValue<float>("AspectRatio", value);
			}
		}
		[JQueryElement("autoHide")]
		public bool AutoHideHandle
		{
			get
			{
				return base.GetPropertyValue<bool>("AutoHideHandle", false);
			}
			set
			{
				base.SetPropertyValue<bool>("AutoHideHandle", value);
			}
		}
		[JQueryElement("ghost")]
		public bool UseGhost
		{
			get
			{
				return base.GetPropertyValue<bool>("UseGhost", false);
			}
			set
			{
				base.SetPropertyValue<bool>("UseGhost", value);
			}
		}
		[JQueryElement(null, "handles", false, "(n|e|s|w|ne|se|sw|nw)(, (n|e|s|w|ne|se|sw|nw))+")]
		public string Handles
		{
			get
			{
				return base.GetPropertyValue<string>("Handles", "e, s, se");
			}
			set
			{
				base.SetPropertyValue<string>("Handles", value);
			}
		}
		[JQueryElement("helper")]
		public string HelperCssClass
		{
			get
			{
				return base.GetPropertyValue<string>("HelperCssClass", null);
			}
			set
			{
				base.SetPropertyValue<string>("HelperCssClass", value);
			}
		}
		[JQueryElement("maxHeight")]
		public int MaxHeight
		{
			get
			{
				return base.GetPropertyValue<int>("MaxHeight", -1);
			}
			set
			{
				base.SetPropertyValue<int>("MaxHeight", value);
			}
		}
		[JQueryElement("maxWidth")]
		public int MaxWidth
		{
			get
			{
				return base.GetPropertyValue<int>("MaxWidth", -1);
			}
			set
			{
				base.SetPropertyValue<int>("MaxWidth", value);
			}
		}
		[JQueryElement("minHeight")]
		public int minHeight
		{
			get
			{
				return base.GetPropertyValue<int>("MinHeight", -1);
			}
			set
			{
				base.SetPropertyValue<int>("MinHeight", value);
			}
		}
		[JQueryElement("minWidth")]
		public int minWidth
		{
			get
			{
				return base.GetPropertyValue<int>("MinWidth", -1);
			}
			set
			{
				base.SetPropertyValue<int>("MinWidth", value);
			}
		}
		[JQueryEvent("start"), DefaultValue(null), DesignerSerializationVisibility(DesignerSerializationVisibility.Content), PersistenceMode(PersistenceMode.InnerProperty)]
		public string OnStart
		{
			get
			{
				return base.GetPropertyValue<string>("OnStart", null);
			}
			set
			{
				base.SetPropertyValue<string>("OnStart", value);
			}
		}
		[JQueryEvent("resize"), DefaultValue(null), DesignerSerializationVisibility(DesignerSerializationVisibility.Content), PersistenceMode(PersistenceMode.InnerProperty)]
		public string OnResize
		{
			get
			{
				return base.GetPropertyValue<string>("OnResize", null);
			}
			set
			{
				base.SetPropertyValue<string>("OnResize", value);
			}
		}
		[JQueryEvent("stop"), DefaultValue(null), DesignerSerializationVisibility(DesignerSerializationVisibility.Content), PersistenceMode(PersistenceMode.InnerProperty)]
		public string OnStop
		{
			get
			{
				return base.GetPropertyValue<string>("OnStop", null);
			}
			set
			{
				base.SetPropertyValue<string>("OnStop", value);
			}
		}
		protected override string jQueryFunction
		{
			get
			{
				return "resizable";
			}
		}
		public ResizableExtender()
		{
			base.ChangeMetadata("Handles", new JQueryElementAttribute(null, "handles", false, "^([news]+(, ?[news]+)?)|(\\{ (ne|se|sw|nw|n|e|s|w): ?((((?<selectorType>\\.|#|\\$)(?<selector>\\w+))|(\\*|span|div|input|option|select|textarea|p|h[0-9]|body|html))(\\[\\w(=\\w)?\\])?(?<function>\\:(first|last|even|odd|((eq|gt|lt)\\([0-9]+\\))|header|animated|((not|has)\\((?<selectorParameter>.+)\\))))?( ?(\\>|\\+|\\~) ?)?)+(, ?(ne|se|sw|nw|n|e|s|w): ?((((?<selectorType>\\.|#|\\$)(?<selector>\\w+))|(\\*|span|div|input|option|select|textarea|p|h[0-9]|body|html))(\\[\\w(=\\w)?\\])?(?<function>\\:(first|last|even|odd|((eq|gt|lt)\\([0-9]+\\))|header|animated|((not|has)\\((?<selectorParameter>.+)\\))))?( ?(\\>|\\+|\\~) ?)?)+)* \\})$"));
		}
	}
}
